package com.wholesmart.mapper;

import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.wholesmart.mapper.entity.User;

/**
 * 
 * @author dyw
 * @date 2020年1月8日
 */
public interface UserMapper {
	/**
	 * 通过用户名修改用户状态
	 * 
	 * @param username 用户名
	 * @param status   用户状态
	 */
	void updateUserStatusByUsername(@Param("username") String username, @Param("status") int status);

	/**
	 * 通过用户名查找用户
	 * 
	 * @param username 用户名
	 * @return
	 */
	User selectByUsername(String username);

	/**
	 * 通过用户ID查找用户
	 * 
	 * @param id 用户ID
	 * @return
	 */
	User selectById(Long id);

	/**
	 * 根据部门ID查询用户
	 * 
	 * @param depertmentId 部门ID
	 * @return
	 */
	List<User> selectByDepertmentId(Long depertmentId);

	/**
	 * 根据部门ID列表查询用户
	 * 
	 * @param departmentIds
	 * @return
	 */
	List<User> selectByDepertmentIds(List<Long> departmentIds);

	/**
	 * 通过ID删除用户
	 * 
	 * @param id
	 */
	void deleteById(Long id);

	/**
	 * 插入一条数据
	 * 
	 * @param entity
	 * @return
	 */
	void insert(User entity);

	/**
	 * 分页查询
	 * 
	 * @param params
	 * @return
	 */
	List<User> selectPage(Map<String, Object> params);

	/**
	 * 分页查询统计
	 * 
	 * @param params
	 * @return
	 */
	long countForSelectPage(Map<String, Object> params);
}
